package com.hzz.entity.user;

import java.util.Date;
import java.util.List;
import java.util.Set;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.hzz.framework.entity.BaseEntity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class User extends BaseEntity {
    /**
     * id
     */
    Long id;
    /**
     * 用户账号
     */
    String account;
    /**
     * 行政区域id
     */
    String areaId;
    /**
     * 行政区域名称
     */
    String areaName;
    /**
     * 头像url
     */
    String avatar;
    /**
     * 用户电话
     */
    String cellphone;
    /**
     * 主要职责
     */
    String coreResponsibility;
    /**
     * 登录次数
     */
    Integer count;
    /**
     * 建立者id
     */
    Long createId;
    /**
     * 创建时间
     */
    Date dateCreated;
    /**
     * 更新时间
     */
    Date dateUpdated;
    /**
     * 删除标记
     */
    Integer delFlag;
    /**
     * 邮箱
     */
    String email;
    /**
     * 用户性别
     */
    Integer gender;
    /**
     * 用户职务
     */
    String job;
    /**
     * 用户工号
     */
    String jobNo;
    /**
     * 最后登录
     */
    Date lastLogin;
    /**
     * 用户级别
     */
    String level;
    /**
     * 备注
     */
    String memo;
    /**
     * 用户名称
     */
    String name;
    /**
     * 排序
     */
    Integer orderNo;
    /**
     * 联系部门id
     */
    Long orgId;
    /**
     * 联系部门名称
     */
    String orgName;
    /**
     * 用户密码
     */
    String password;
    /**
     * 警长电话
     */
    String policeCellphone;
    /**
     * 警长名称
     */
    String policeName;
    /**
     * 用户河道id
     */
    String riverId;
    /**
     * 用户河道名称
     */
    String riverName;
    /**
     * 状态
     */
    Integer state;
    /**
     * 监督河道
     */
    String superviseRiverReach;
    /**
     * 用户类型-1超级管理员0管理员1河长2普通人员18总河长19副总河长
     */
    Integer type;
    /**
     * 联系单位电话
     */
    String unitCellphone;
    /**
     * 用户单位
     */
    String unitName;
    /**
     * 版本号
     */
    Integer version;


    /**
     * 员工密码(旧)
     */
    String originalPassword;
    /**
     * 员工密码(新)
     */
    String confirmPassword;

    /**
     * 超级管理员
     */
    Integer isSuper;

    /**
     * 固定电话
     */
    String telephone;
    /**
     * 身份证号
     */
    String idCard;
    /**
     * 联系地址
     */
    String address;

    /**
     * 用户所在组织
     */
    List<OrgInfo> orgInfos;

    /**
     * 员工所在机构列表
     */
    Set<Long> staffOrgNode;

    /**
     * 当前区域类型(0国家 1省 2市 3区县 4乡镇 5村)
     */
    Integer currAreaType;

    /**
     * 当前区域Id
     */
    Long currAreaId;
    /**
     * 当前区域名称
     */
    String currAreaName;

    Set<Long> roleIds;
	/**
	 * 上级区域Id
	 */
	Long parentAreaId;

    List<Integer> types;
}
